﻿using System;
using System.Collections.Generic;
using System.Text;

namespace ICU
{
    public class ConfigurationStructure
    {
        public class AutoSave
        {
            public bool enable = false;
            public bool log = false;
        }
        public class AntiDdos
        {
            public bool enable = false;
            public bool use_proxy = false;
            public string real_ip_header = "Client-Real-IP";
            public long max_package_connection = 45;
            public long max_package_ip = -1;
            public long reset_time = 60;
        }
        public class Files
        {
            public long max_file = 20;
            public long photo_size_limit = 50;
            public long file_store_time = 7;
            public bool auto_delete = true;
        }
        public class HttpServer
        {
            public bool enable = false;
            public long port = 8081;
            public long info_reflesh_time = 60;
            public bool show_all_users = false;
            public bool show_online_number = true;
            public bool can_shout = false;
        }
        public class Plugin
        {

        }
        public class Logging
        {
            public long max_file = 100;
            public long file_store_days = 7;
        }
        public AutoSave auto_save = new AutoSave();
        public AntiDdos anti_ddos = new AntiDdos();
        public Files files = new Files();
        public HttpServer http_server = new HttpServer();
        public Logging logging = new Logging();
        public bool listen_any = false;
        public long server_port = 8080;
        public long token_keep_time = 300;
        public long message_cache_time = 300;
        public bool log_package = false;
        public string server_name = null;
        public string join_key = null;
    }
}
